package com.free.ext.web.spring.messageconveter;

import com.free.utils.CharsetUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.util.StreamUtils;

import java.io.IOException;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
public class CustomStringHttpMessageConverter extends StringHttpMessageConverter {
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    public CustomStringHttpMessageConverter(){
        super(CharsetUtils.UTF8_CHARSET);
    }

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/

    @Override
    protected void writeInternal(String str, HttpOutputMessage outputMessage) throws IOException {

        String escapeStr = StringEscapeUtils.escapeHtml4(str);
        StreamUtils.copy(str, CharsetUtils.UTF8_CHARSET, outputMessage.getBody());
    }

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
